package cn.hill4j.tool.spring.ext.dispatcher;

import java.util.Objects;

/**
 * 分发执行路由
 *
 * @author: hillchen
 * Date: 2023-02-17 14:57
 */
public class DispatchRoute {
    /**
     * 分发执行路由分组
     */
    private final String groupName;
    /**
     * 分发执行路由业务类型
     */
    private final String bizName;
    /**
     * @author hillchen
     * Description: 分发执行路由构造器
     * Date 2023/8/8 23:48
     * @param groupName 分发执行路由分组
     * @param bizName 分发执行路由业务类型
     **/
    public DispatchRoute(String groupName, String bizName) {
        this.groupName = groupName;
        this.bizName = bizName;
    }

    /**
     * @author hillchen
     * Description: 获取分发执行路由分组
     * Date 2023/8/8 23:48
     * @return String
     **/
    public String getGroupName() {
        return groupName;
    }

    /**
     * @author hillchen
     * Description: 获取分发执行路由业务类型
     * Date 2023/8/8 23:48
     * @return String
     **/
    public String getBizName() {
        return bizName;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DispatchRoute that = (DispatchRoute) o;
        return Objects.equals(groupName, that.groupName) && Objects.equals(bizName, that.bizName);
    }

    @Override
    public int hashCode() {
        return Objects.hash(groupName, bizName);
    }
}
